package com.shujia.scala


import scala.collection.mutable
import scala.collection.mutable.HashMap

object Demo17Map {

  def main(args: Array[String]): Unit = {

    /**
      * map： kv格式
      *
      */

    val map = Map(("001", "张三"), ("002", "李四"), "003" -> "王五")

    println(map)

    //通过key获取alue
    println(map("001")) //如果key不存在直接报错
    println(map.get("001")) //如果key不存在返回None
    println(map.getOrElse("004", "默认值")) //如果key不存在返回默认值


    //判断key是否存在
    println(map.contains("001"))


    val map2: Map[String, String] = map.filter((kv: (String, String)) => kv._2.equals("张三"))

    println(map2)

    println(map.keys) //取出所有的key
    println(map.values) //去除所有的value


    /**
      * 可变map
      *
      */

    val hashMap = new mutable.HashMap[String, Int]()


    //增加元素
    hashMap.+=(("001", 23))

    //简写
    hashMap += "002" -> 24
    println(hashMap)


    //删除元素
    hashMap -= "001"

    println(hashMap)

    hashMap.remove("002")

    println(hashMap)


  }

}
